package com.ushine.design.design.a_creative_mode.b_factory_method;

/**
 * 工厂方法模式模式：
 * 1）Product（抽象产品）：它是定义产品的接口，是工厂方法模式所创建对象的超类型，
 * 也就是产品对象的公共父类
 * 2）ConcreteProduct（具体产品）：它实现了抽象产品接口，某种类型的具体产品有专门的具体工厂创建，
 * 具体工厂和具体产品之间一一对应。
 * 3）Factory（抽象工厂）：在抽象工厂类中声明了工厂方法，用于返回一个产品。抽象工厂是工厂方法模式的核心，
 * 所有创建对象的工厂类都必须实现该接口。
 * 4）ConcreteFactory（具体工厂）;它是抽象工厂类的子类，实现了在抽象工厂中声明的工厂方法，
 * 并由客户端调用，返回一个具体产品类的实例。
 *
 * @author yls
 */

/**
 * 抽象工厂方法
 * @author yls
 */
public interface LoggerFactory {

    public Logger createLogger();//抽象工厂方法
}
